#ifndef FPLAYER_LIBYUVWRAPPER_H
#define FPLAYER_LIBYUVWRAPPER_H

#include "libyuv.h"

#ifdef __cplusplus
extern "C" {
#endif //__cplusplus

class MediaFrame{};

/**
 * I420转换为RGBA图像
 * @param pSrcData
 * @param pMediaFrame
 * @param width
 * @param height
 * @return true:转换成功
 */
bool LibYuv_I4202RGBA(uint8_t *pSrcData, MediaFrame *pMediaFrame, int32_t width, int32_t height);

/**
 * NV12转换为RGBA图像
 * @param pSrcData
 * @param pMediaFrame
 * @param width
 * @param height
 * @return true:转换成功
 */
bool LibYuv_NV122RGBA(uint8_t *pSrcData, MediaFrame *pMediaFrame, int32_t width, int32_t height);

/**
 * NV21转换为RGBA图像
 * @param pSrcData
 * @param pMediaFrame
 * @param width
 * @param height
 * @return true:转换成功
 */
bool LibYuv_NV212RGBA(uint8_t *pSrcData, MediaFrame *pMediaFrame, int32_t width, int32_t height);

#ifdef __cplusplus
};
#endif //__cplusplus

#endif //FPLAYER_LIBYUVWRAPPER_H
